\frame[containsverbatim]
{
  \frametitle{Micropatterns: simple bytecode patterns}
{\small
  Look for simple instruction sequences:
  \B
  \item E.g., Find unconditional wait\\
\vskip .1in
\begin{tabular}{l|l}
\begin{minipage}[t]{1.5in}
\begin{Verbatim}[commandchars=@\[\]]
[@sl@color[blue]Source code]
synchronized (lock) {
  lock.wait();
  ...
}
\end{Verbatim}
\end{minipage}
&
\begin{minipage}[t]{1.5in}
{\small
\begin{Verbatim}[commandchars=@\[\]]
[@sl@color[blue]Bytecode in class file]
ALOAD 0
GETFIELD A.lock
DUP
ASTORE 1
MONITORENTER
ALOAD 0
GETFIELD A.lock
INVOKEVIRTUAL Object.wait()V
\end{Verbatim}
}
\end{minipage}
\end{tabular}
  \E
}
}

\frametitle{State machine for generating warning}
{
\includegraphics[width=3.5in]{images/UnconditionalWait}
}
